home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 039a / ebl407.zip / README2 < prev   
Text File  |  1991-08-20  |  12KB  |  321 lines

  1.  
  2.  
  3.         DEAR SHAREWARE USER AND POTENTIAL CUSTOMER:
  4.  
  5.  
  6.        We are happy  to provide you with this updated diskette.  In
  7.        this edition there  are not only  a few  bug fixes, but also
  8.        several  new  functions based on suggestions from  customers
  9.        like yourself.  We look  forward to  improving  the  product
  10.        further to meet your needs.  Complete details of all changes
  11.        are shown below.
  12.  
  13.        We  would  also  like to extend a  special  offer to  anyone
  14.        interested in further documentation.  The  entire  text from
  15.        "The  EBL-Plus  Language  -  Users Guide"  is  available  by
  16.        diskette for just $7.  The guide is  in a  quick and easy to
  17.        use hypertext (soft copy)  form on  diskette.  This  is  the
  18.        same  guide  that registered customers  already  receive  in
  19.        printed form with their  order,  and professional  customers
  20.        receive   in  both  printed   and   hypertext   form.   Call
  21.        800/634-8188 or write  Seaware Corp.; P.O.  Box 1656; Delray
  22.        Beach,  FL  33444  to  order   the   "EBL-PLUS  Users  Guide
  23.        Diskette". (Foreign customers $10. Visa or M/C only. No Checks)
  24.  
  25.  
  26.  
  27.  
  28.        DETAIL OF CHANGES TO EBL-PLUS
  29.  
  30.  
  31.        *   EBL 4.07
  32.  
  33.            -   Updated code which follows DOS's CALL chain to match
  34.                DOS5's characteristics.  (thanks  Arno  Krakauer and
  35.                George Szentirmai)
  36.  
  37.            -   Updated  code which closes  files  being  read  when
  38.                shelling. (Thanks Jim Fouch)
  39.  
  40.        *   EBL 4.06c
  41.  
  42.            -   Support added to recognize DOS 5.
  43.  
  44.            -   Added  flexability  when  GOTO  is  used   within  a
  45.                BEGIN/END block to avoid many block nesting errors.
  46.  
  47.            -   A bug was fixed to allow a ';' (semicolon) character
  48.                to be used at the end of all TYPE statements after a
  49.                WINDOW() function, just like  it can be used outside
  50.                of a window.
  51.  
  52.            -   The COLOR() function was enhanced to allow free-form
  53.                color names contained within variables. This feature
  54.                matches  the capability of the Professional EBL-Plus
  55.                compiler version 1.02 and later.
  56.  
  57.        *   EBL 4.05
  58.  
  59.            -   A minor  bug within the GOTO command caused it to be
  60.                slower than normal.  It now runs at full speed.
  61.  
  62.  
  63.  
  64.        Page     1
  65.  
  66.  
  67.            -   KEY(PRTSC) key is recognized and will properly print
  68.                the screen on the line printer when the  key is read
  69.                from the stack.  The  equivalent  key  value  within
  70.                BEGSTACK is \F0\01.
  71.  
  72.            -   Inline code can be placed in the  stack.  If you are
  73.                familiar with  assembly language  programming,  this
  74.                technique can  provide extra power within  the stack
  75.                in special  instances.  The executable code must  be
  76.                preassembled and the hex machine code must be placed
  77.                in  the  stack  using  BEGSTACK.  The  prefix within
  78.                BEGSTACK is \F0\02\ss\cc\cc\cc  ...  \cc where ss is
  79.                the size of the code in  bytes (0 to  255 bytes) and
  80.                cc is the hexadecimal value of each byte to execute.
  81.                The suffix \C3; must also be added. C3 is a near RET
  82.                instruction and  the ';'  prevents  an implied Enter
  83.                key from being stacked.  The registers  AX,  BX, CX,
  84.                DX, and  SI will be saved prior to execution and can
  85.                be   used  freely  as  temporary  storage.  The   DS
  86.                register will be the same  as  CS.  On  entry to the
  87.                inline code, AH=0 if the application is requesting a
  88.                keystroke,  and  AH=1 if  requesting keyboard status
  89.                (refer to BIOS Int  16h for more information). DS:SI
  90.                will  be set to the address of the inline code entry
  91.                point.  If SI  is zero  before  returning,  EBL will
  92.                allow  a  single  keystroke to be  gotten  from  the
  93.                hardware and the inline code will be reexecuted.  In
  94.                this case,  other items on the keyboard  stack  will
  95.                not  be  used  until  the  inline  code  returns  SI
  96.                non-zero.  The   code  must  be   fully  relocatable
  97.                without   any   absolute  addresses.  If  any  other
  98.                registers are used, they must be  saved and restored
  99.                within the inline code.
  100.  
  101.                Some examples: The following will create a beep when
  102.                executed within the stack.
  103.                BEGSTACK
  104.                \f0\02\06\b8\07\0e\cd\10\c3;
  105.                END
  106.  
  107.                It is  equivalent to the following assembly language
  108.                code
  109.                        Mov     Ax,0E07h
  110.                        Int     10h
  111.                        Ret
  112.  
  113.                The following will page eject the LPT1 printer
  114.                BEGSTACK
  115.                \f0\02\08\ba\00\00\b0\0c\cd\17\c3;
  116.                END
  117.  
  118.                and is equivalent to
  119.                        Mov     Dx,0
  120.                        Mov     Al,0Ch
  121.                        Int     17h
  122.                        Ret
  123.  
  124.                The   following   automatically   types   the   word
  125.                'ACCOUNT',  then  will  allow  3  keystrokes  to  be
  126.  
  127.  
  128.        Page     2
  129.  
  130.  
  131.                manually entered, then the enter key will be pressed
  132.                after this.
  133.                BEGSTACK
  134.                ACCOUNT;
  135.                \f0\02\12\EB\02\04\00\80\FC\00\75\05\FF\4C\02\74\03\BE\00\00\C3;
  136.  
  137.                END
  138.  
  139.                and the inline code is equivalent  to the following.
  140.                This  example demonstrates how local storage can  be
  141.                maintained  for  the inline code.  It also shows how
  142.                the stack  can  be  stopped  until  specific  events
  143.                occur,  in this case waiting for the application  to
  144.                request 3 keys.
  145.                        Jmp     short Me        ; Jump over local storage
  146.                        Dw      4               ; Define local counter
  147.                Me:     Cmp     Ah,0            ; Did App request a key?
  148.                        Jne     Restart         ; No, am counting just keys
  149.                        Dec     Word ptr [si+2] ; Decrement the count of keys
  150.                        Je      Done            ; Count is over?
  151.                Restart: Mov    Si,0            ; No, SI = 0 means restart
  152.                Done:   Ret                     ; Else continue & release stack
  153.  
  154.        *   EBL 4.04
  155.  
  156.            -   Corrected bug where drive letter was always required
  157.                for  the  updated  CHDIR()  function (e.g.  CHDIR("C
  158.                :\SUB"). It is now optional as it was intended (e.g.
  159.                CHDIR("\SUB").
  160.  
  161.            -   The  British   spelling   for   CENTRE()   was   not
  162.                implemented   correctly.   Now  both  CENTER()   and
  163.                CENTRE() perform the same function.
  164.  
  165.            -   A bug was fixed  within  the  SPACE()  function that
  166.                caused a hang if one non-blank character was used as
  167.                a fill.
  168.  
  169.            -   A  SUBSTR()  function  has  been  added.  This  is a
  170.                superset of the existing substring operator '$'. The
  171.                syntax  is: SUBSTR( string ,start {,length, {pad}} )
  172.                This function returns the sub-string  of  a (string)
  173.                starting at the (start) character within the string,
  174.                up  to  (length)  characters  long.  If  (length) is
  175.                longer  than  the  original  string,  then  a  (pad)
  176.                character is  appended. The default (length) is  the
  177.                size  of the  original  string.  The  default  (pad)
  178.                character  is  a blank. A  synonym  for the SUBSTR()
  179.                function is MID(). Either function name can be used.
  180.  
  181.        *   EBL 4.03
  182.  
  183.            -   Corrected minor bug in DATE(Century) function.
  184.  
  185.            -   Corrected  cursor positioning  bug if READ  was used
  186.                within a WINDOW.
  187.  
  188.            -   Updated  EDIT() to  read keystrokes from  DOS rather
  189.                than BIOS to provide  a system  interface that works
  190.  
  191.  
  192.        Page     3
  193.  
  194.  
  195.                on a wider set of computers.
  196.  
  197.            -   Corrected SELECT() cursor positioning bug if used on
  198.                a slow PC.
  199.  
  200.            -   Updated CHDIR() function to also change  the default
  201.                drive in addition to the current subdirectory.
  202.  
  203.        *   EBL 4.02
  204.  
  205.            -   On  IBM's  101 key  keyboard, the  CHARIN() function
  206.                returned F1 and F2 when  F11  and  F12  was  pressed
  207.                respectively. This has been fixed.
  208.  
  209.            -   A new  /A option ignores DOS  version checking  (use
  210.                with caution).  Must  be  used with /R option as in:
  211.                BAT /A  /R  PROGRAM.BAT  to  startup  the batch file
  212.                named  PROGRAM. This  will  allow  EBL to work under
  213.                many DOS enhancers like PC-MOS and 4DOS.
  214.  
  215.            -   The EBL-Plus  Professional version  of  EBL.BIN  and
  216.                EBL0.BIN are released and match 4.02 in features and
  217.                capabilities. Both can  be  'bound' to  a batch file
  218.                with  DOS's  COPY command, then distributed  royalty
  219.                free.  The  EBL0 version  does  not use or reference
  220.                any resident  memory. By comparison, the EBL version
  221.                has  a small  TSR portion that remains resident just
  222.                like  the  matching BAT.COM.  Please  contact  us at
  223.                1-800-634-8188 if you would like further information
  224.                about the EBL-Plus Professional version.
  225.  
  226.        *   4.01
  227.  
  228.            -   KEY("  ")  function  within  an  expression  returns
  229.                "KEY020" which matches the  INKEY function. Formerly
  230.                it returned " " which was different from INKEY.
  231.  
  232.            -   Recognition of DOS 4.x rather than 4.0
  233.  
  234.            -   RANDOM(  {{min, }  max {,seed}} )  function has been
  235.                added.  The default min  is  0, default  max is 999,
  236.                default seed is random  based  on time.  If only one
  237.                parameter is supplied, it is  a max and the min will
  238.                be  0.  If seed  is not given, seed is random (based
  239.                on  system  time).  If  a  seed  is given,  it  will
  240.                restart a repeatable pseudo random pattern.
  241.  
  242.            -   Correction made  to  DIR(file,R) command so  that it
  243.                will restore properly.
  244.  
  245.            -   TRANSLATE( string {,{to list}{,{from list}{,pad}}} )
  246.                function has been added.  This function translates a
  247.                string to different characters.  If  a  character in
  248.                the string is  found in the input list of characters
  249.                (from),  then   it   will   be  translated   to  the
  250.                corresponding character in the output list (to).  If
  251.                the character is  not found in the input  list, then
  252.                no change is made.  If there are more  characters in
  253.                {from} than {to},  it will be  translated to  a  pad
  254.  
  255.  
  256.        Page     4
  257.  
  258.  
  259.                character.  The  default pad character  is  a blank.
  260.                The default output list is empty (null).  If  only a
  261.                string  is  supplied without  any  lists,  then  the
  262.                string  will  be  translated   to  upper  case.  For
  263.                example:
  264.  
  265.                   TRANSLATE("12/23/56","-","/")    == "12-23-56"
  266.                   TRANSLATE("abcde","HEX","bcd")   == "aHEXe"
  267.                   TRANSLATE("abcde","1","bcd",".") == "a1..e"
  268.  
  269.            -   Correction  made to an  error inadvertently reported
  270.                when an extended BATXV variable was used in a  SHELL
  271.                command.
  272.  
  273.            -   Correction made to duplicate CHDIR() function listed
  274.                in help screen.
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.        Page     5
  321.